﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>MouseGetPos</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../css/commands.css" rel="stylesheet" type="text/css">
<link href="../css/print.css" rel="stylesheet" type="text/css" media="print">
</head>
<body>

<h1>MouseGetPos</h1>

<p>返回鼠标的当前位置，以及鼠标当前悬停的窗口和控件（可选）。</p>

<p class="CommandSyntax">MouseGetPos, [OutputVarX, OutputVarY, OutputVarWin, OutputVarControl, 1|2|3] </p>
<h3>参数 </h3>
<table border="1" width="100%" cellspacing="0" cellpadding="3" bordercolor="#C0C0C0">
  <tr>
    <td width="15%">OutputVarX/Y</td>
    <td width="85%"><p>这两个变量存储了当前鼠标的横坐标和纵坐标。坐标默认相对于当前窗口，需要的话可以使用 <a href="CoordMode.htm">CoordMode/坐标模式</a> 来更改屏幕的坐标相对位置。</p>
    </td>
  </tr>
  <tr>
    <td>OutputVarWin</td>
    <td>
      <p>这个变量存储了当前鼠标悬停的窗口的 <a href="WinGet.htm">unique ID number/唯一ID</a> ，如果无法检测到窗口，则该变量为空。</p>
      <p>即使窗口未处于激活状态，仍能获取它的信息。不过隐藏窗口无法被侦测到。</p></td>
  </tr>
  <tr>
    <td>OutputVarControl</td>
    <td>
      <p>这个变量存储了当前鼠标悬停的控件的名称（ClassNN）。如果无法检测到控件，则该变量为空。</p>
      <p>控件的名称和使用 Window Spy（v1.0.14版以上）所获取的控件名称是一样的（可能和老版本的 Window Spy 不一样）。不过和 Window Spy 不同的是，使用 MouseGetPos 检测控件不需要该控件所在的窗口处于激活状态。</p></td>
  </tr>
  <tr>
    <td>1|2|3</td>
    <td><p>如果省略了，默认值是 0 。否则，可以按如下所示的功能指定一个值：</p>
      <p><strong>1</strong>：使用一种更简单的方式来获取 <em>OutputVarControl</em> 。这种方式在多文档界面（MDI）的程序（例如 SysEdit 或 TextPad ）中可以准确的获取激活或置顶的子窗口信息。但是，它对于其它的情况，例如获取 GroupBox/控件组 中的控件，就不那么准确了。</p>
      <p><strong>2</strong> [v1.0.43.06+]：在 <em>OutputVarControl</em> 中存储 <a href="ControlGet.htm#Hwnd">control's HWND/窗口句柄</a> 而不是 ClassNN。</p>
      <p><strong>3</strong> [v1.0.43.06+]：同时包含 1 和 2 的功能。</p></td>
  </tr>
</table>

<h3>注意</h3>
<p>如果不需要，任何参数都是可以省略的。</p>
<h3>相关命令</h3>
<p><a href="CoordMode.htm">CoordMode</a>, <a href="WinGet.htm">WinGet</a>, <a href="SetDefaultMouseSpeed.htm">SetDefaultMouseSpeed</a>, <a href="Click.htm">Click</a></p>
<h3>示例</h3>
<pre class="NoIndent">MouseGetPos, xpos, ypos 
Msgbox, The cursor is at X%xpos% Y%ypos%. 

<em>; 这个例子允许你通过移动鼠标来查看</em>
<em>; 鼠标悬停的窗口的信息</em>
#Persistent
SetTimer, WatchCursor, 100
return

WatchCursor:
MouseGetPos, , , id, control
WinGetTitle, title, ahk_id %id%
WinGetClass, class, ahk_id %id%
ToolTip, ahk_id %id%`nahk_class %class%`n%title%`nControl: %control%
return</pre>

</body>
</html>
